home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr35 / annex10h.zip / ANNEX.DOC < prev    next >
Text File  |  1993-05-31  |  31KB  |  648 lines

  1.                                                                     5/31/93
  2.                                 Annex 1.0h 
  3.  
  4.                          Written by Jason Bassford 
  5.  
  6.  
  7.  
  8.                              - Introduction -
  9.  
  10.    Annex will interpret the message header information produced by OLX and
  11. any other compatible mail reader (not that I know of any - if you do I'd
  12. appreciate knowing about it) and manipulate it in just about any way that
  13. you wish.  Such information is further broken down into such specific
  14. things as the 24 and 12 hour time, whether it is "am" or "pm", just what
  15. century it is (something that will come in handy should a variation of
  16. Annex still be in use 8 years from now...) and even the proper "suffix" to
  17. use with the day of the month (1st, 2nd, 3rd, etc.).  This manipulation
  18. will allow you to configure whatever header and footers you might want to
  19. appear in your messages.
  20.    You will be able to determine how Annex will interpret a person's name
  21. in the header that it uses.  You may want it to be all in Caps or only the
  22. first letter, or you may even want to change it completely so that
  23. whenever a certain name appears the header reads, "My friend was talking
  24. to me about..." instead of "Michael Smith was talking to Jason Bassford
  25. about..."  Every time Annex encounters a name that its not familiar with
  26. it will stop and prompt you to enter what you would like it to use in
  27. place of it.  Once it knows what you want it to use it will then use that
  28. "association" automatically.
  29.    In addition to the standard forms of headers, Annex also supports
  30. special Internet headers that are sometimes required by BBSs in order to
  31. properly send Internet mail.  In this way you can Reply to a message in
  32. OLX and never worry about having to enter their Internet address before
  33. writing your message to them.  (Lord knows, before I wrote Annex I more
  34. than once had Internet mail bounced back to me because I'd forgotten to
  35. include the recipient's Internet address in the body of a message...)
  36.    (Note that both normal and Internet headers will not be available if the
  37. message you are writing is *new*.  Headers are only possible if you are
  38. replying to an existing message for which OLX has the necessary
  39. information to pass on to Annex.  Footers, on the other hand, are always
  40. available.)
  41.    The footer section of Annex lets you control the format that you wish
  42. to use for your taglines, and any other additional "footer" messages you
  43. might wish to include, such as placing your signature before the tearline
  44. in the actual message itself.  The one thing to be aware of about Annex's
  45. tagline manipulation is that the taglines it uses are selected at random
  46. by the program.  If you want to get a *specific* tagline to be used with
  47. your message there is a fairly simple method to do so (which is described
  48. at the end of this document) but it is not as simple as it would be with a
  49. program designed solely to manage your taglines.  If what you are
  50. interested in is simply a tagline manager then Annex 1.0 probably isn't
  51. going to be what you're looking for.
  52.  
  53.  
  54.  
  55.                               - Background -
  56.  
  57.    This is an OLX/SLMR header and footer utility that I have been working
  58. with, on and off, since the Summer of '92.  It all started with a friend
  59. of mine who innocently suggested that I create a small header utility for
  60. him to use with his OLX messages.  Once I started he kept suggesting more
  61. features he'd like to see it have, and I also came up with some of my own
  62. ideas.  When the header portion of Annex was finished I put the project
  63. aside for a while as I was busy with other things and the reason it had
  64. been created in the first place was solely as a header utility.  
  65.    Then I happened to order OLX 3.0 along with the new Qmodem Pro from
  66. Mustang Software.  While I'm quite happy with both products, I was
  67. dismayed to realize that the tagline signature OLX used was "QMPro 1.0
  68. 41-4932".  Not only did I not want the serial number in my taglines (as it
  69. takes up too much space for my actual tags to comfortably fit) but I also
  70. wanted it to instead display "OLX" - which program is the real reason I'd
  71. ordered the upgrade package in the first place.  So after trying
  72. unsuccessfully to sway the MSI staff to send me a "patch" of some sort to
  73. address these problems, I decided to just go ahead and write my own
  74. footer/tagline utility that would let me do what I wanted.  In short, I
  75. picked up my earlier work on Annex once more.
  76.  
  77.  
  78.  
  79.                                - Licensing -
  80.  
  81.    There are several things that you should note about this utility. First
  82. of all, and probably most important right now, is that I am distributing
  83. this as Shareware.  Yet, is not crippled in any way and, contrary to the
  84. normal concept of Shareware it isn't in any way different from the
  85. registered version.  In fact, there *is* no "registered" version per se -
  86. the program that exists here is exactly what I am currently working with
  87. on my own machine.  Why then do I call it Shareware?  Simply because I
  88. will put "registered users" on a list for the purposes of any future
  89. releases that I might distribute.  I will take note of any registered
  90. user's comments and suggestions for future versions, and offer any support
  91. that is necessary in order to get it running smoothly.  If it becomes
  92. apparent that there is a bug in the program that requires me to distribute
  93. a maintenance release (while I've tested it extensively myself there is
  94. always this possibility with different machines) I will mail this directly
  95. to everyone on my list as soon as possible.  Anyone wishing to register
  96. Annex need only send me a note informing me of this.  Other than the cost
  97. of the postage stamp <grin> this process is free.
  98.    Also, I do *not* distribute this along with my permission for the
  99. program to be rewritten or altered in any way.  It is to be used *as is*,
  100. and any changes to it have to come through me.  Additionally, if this is
  101. distributed to a BBS (and I *do* encourage this) it should contain all of
  102. the files that are listed later in the "Installation" section.  In other
  103. words, it must be uploaded just as you downloaded it.  I'm not familiar
  104. with the legalities involved here, however I can tell you that at the very
  105. least I would be considerably "upset" if I find these conditions of use to
  106. be ignored by someone.  I'm not sure just what action I would take,
  107. although it would most likely not be pleasant. <grin>
  108.  
  109.  
  110.  
  111.                                 - History -
  112.  
  113. Annex1.0a:
  114.  
  115.    This is a maintenance release for Annex 1.0 which I discovered, much to
  116. my horror after I had uploaded it to various BBSs, contained some out of
  117. date code, resulting in some program bugs.  Please accept my apologies.
  118.  
  119.  
  120. Annex1.0b:
  121.  
  122.    This release allows for the configurable placement of footer text
  123. before as well as after the message's tearline.  This will allow you to
  124. place custom signatures in the body of your message, followed by a
  125. tearline and then whatever tagline you want.
  126.  
  127.  
  128. Annex1.0c:
  129.  
  130.    Now allows you to bypass a given name in the To: or From: field if it
  131. is not found on file.  This allows you to reply to someone that you think
  132. you might only correspond with once or twice, or quote messages from
  133. bounced email, without unnecessarily increasing the size of your name
  134. association file.  Also it now incorportates the proper stripping of *all*
  135. footer text when a message is re-edited, rather than just the tearline and
  136. everthing following it, and it will recognize "PACKET:" as well as "BBS:"
  137. in the OLX field.
  138.  
  139.  
  140. Annex1.0d:
  141.    
  142.    Corrects a specific problem with storing newly discovered names to file
  143. that appeared in the previous version.
  144.  
  145.  
  146. Annex1.0e:
  147.    
  148.    Fixes the incorrect handling of the weekday name during the month of
  149. February.  This error was not spotted until that month just recently came
  150. around and somebody pointed it out to me.
  151.  
  152.  
  153. Annex 1.0f
  154.  
  155.    You no longer need to change directories to the one containing the
  156. "Annex" files before running the program.  This is now handled internally
  157. through the use of a Dos environment variable.
  158.  
  159.  
  160. Annex 1.0g
  161.  
  162.    The header function is now able to interpret RoseReader's header
  163. information blocks as well as OLX's, making Annex's header component
  164. compatible with RoseReader.
  165.  
  166.  
  167. Annex 1.0h
  168.  
  169.    Corrected some problems with Annex and RoseReader incompatibilities.
  170.  
  171.  
  172.  
  173.                              - Installation -
  174.  
  175.    The following files should be included in annex10.zip:
  176.  
  177. annex.doc     -  Annex documentation.  You're reading it.  (I always 
  178.                  thought that this entry was pretty self-evident. <grin>)
  179. annex-rr.doc  -  Additional information regarding Annex's compatibility
  180.                  with RoseReader.
  181. annex.bat     -  A sample batch file showing how to implement Annex.  It
  182.                  will have to be modified to suit your text editor and 
  183.                  other setup parameters.
  184. annex-rr.bat  -  A sample batch file for RoseReader users.
  185. header.exe    -  The program that produces header text in your messages.
  186. header.txt    -  The text file controlling what the header text will look
  187.                  like. 
  188. header.net    -  The text file determining the format of any Internet 
  189.                  header message. 
  190. footer.exe    -  The program that controls footer text.
  191. footer.txt    -  The text file controlling what the footer text will look
  192.                  like.
  193.  
  194.    Copy all of these files to your OLX directory (although the program
  195. will work just fine without annex.doc, you might want to keep it for
  196. reference anyway).  To get Annex to work you have to tell OLX to run a
  197. batch file in the Editor section of the Options (or Configuration) menu. 
  198. This batch file will first run the header program, then whatever text
  199. editor you use, and finally the footer program unless you are using
  200. RoseReader.  I have called the batch file that I use "annex.bat", although
  201. you can always name yours something else if you wish.  This is what my OLX
  202. setup looks like:
  203.  
  204. Editor command line    c:\olx\annex
  205.  
  206. Quoted original message file REPLY.MSG
  207. File to take reply text from REPLY.MSG
  208.  
  209.    And the following is what my included "annex.bat" file contains in order
  210. to run Annex with OLX 3.0:
  211.  
  212. @echo off
  213. cls
  214. set annex=c:\olx                         [Or c:\rr, etc. for RR.]
  215. c:\olx\header %1 
  216. b %1     
  217. c:\olx\footer c:\olx\tagline.olx %1      [RR users delete this line.]
  218.  
  219.    Note a couple of things here.  First of all Annex uses a Dos
  220. environment variable that points to the location of its files.  If you put
  221. the "set annex=c:\olx" (or "set annex=c:\rr") line into your autoexec.bat
  222. file then you can remove this line from the batch file you use to call
  223. Annex.  If the environment variable "annex" doesn't exist, or doesn't
  224. properly point to your Annex files, the program will not run.  Secondly,
  225. make sure that you edit these OLX pathnames appropriately, as according to
  226. your own setup. The "b %1" line simply runs my text editor - you should
  227. replace this with whatever commands are necessary to run your own editor. 
  228. Lastly, this should work as-is with earlier version of OLX also.  The only
  229. difference I would make if I weren't using 3.0 is that I would add a line
  230. to run an external spell checker (mine used to be "spell %1") after the
  231. last line.
  232.  
  233.  
  234.  
  235.                 - Additional Installation Checklist -
  236.  
  237.    1. Configure OLX or RR to include its own header information in its
  238.       quoted replies.  Refer to the Replies section of the Options
  239.       (Configuration)  menu.
  240.  
  241.    2. Turn OLX's own taglining off by setting the Enable Taglines to "Off"
  242.       in the same section as above.  RR users can ignore this step.
  243.  
  244.    3. Make sure that the date format that used is MM-DD-YY.  If you
  245.       don't, Annex will not properly interpret the information.
  246.  
  247.    4. If you are using an editor like Qedit which can place an end-of-file
  248.       character (normally appearing as a "" or "" character) in the
  249.       document, Annex will not properly create its footer text.  You must
  250.       disable this function on your text editor.  In Qedit you would
  251.       run Qconfig and set (in general options) "Terminate files with a
  252.       Control Z (Y/N)" to "N".  If this is not possible than your text editor
  253.       will not be fully compatible with Annex.
  254.  
  255.  
  256.                               - Using Annex -
  257.  
  258.    As the program runs it will create a file called "header.inf" which
  259. contains a list of names and the associations that you assign to them.  At
  260. first, Annex will keep interrupting itself before writing the header
  261. information and prompt you to enter how you want all of the new names not
  262. found in this file to appear in your replies.  As your list of names grows
  263. though this will happen less often, as it finds fewer new names, and it
  264. will quickly be mostly invisible.
  265.  
  266.  
  267.  
  268.                           - The Header Program -
  269.  
  270.    If it finds a name that is not in the "header.inf" file, it will tell
  271. you this and ask you how it should be handled.  There are several options
  272. here.  One of these is to simply use a format of the name in which the
  273. first letter of each "word" is in Capital and all others are in small
  274. case.  Another allows you to enter a different format than this "default"
  275. if you so wish.  Say that the name it is looking at is "MICHAEL SMITH".
  276. You would see the following:
  277.  
  278.  
  279.    Name not found in data file.  Please choose from the following
  280. header formats for future use.
  281.  
  282.  
  283. ┌───────────────────┐
  284. │ 1 - Michael Smith │
  285. └───────────────────┘
  286.      (2 - Do Not Save)
  287.  
  288. ┌─────────────────────────────────────┐
  289. │ 3 - Custom Format / Internet Header │
  290. └─────────────────────────────────────┘
  291.      (4 - Do Not Save)
  292.  
  293.  
  294.    Enter choice: 
  295.  
  296.  
  297.    The first option is self-explanatory and what I use almost all the
  298. time. However, say that Michael prefers being referred to as "Mike".  If
  299. you wanted it to automatically put "This message was from Mike..." then
  300. you would select "3".  You will now see a screen that looks like this:
  301.  
  302.  
  303. The original name is 'MICHAEL SMITH'.
  304.  
  305.  
  306.   Enter the new name:
  307.  
  308.     Internet address:
  309.  
  310.  
  311.    (The cursor will be right after the "Enter the new name:" line.) You
  312. would enter "Mike Smith" on the first line.  When you reached the second
  313. line it would change to read:
  314.  
  315.     Internet address: [None]
  316.   
  317.    At this point you would simply hit <Return>, as we are not dealing with
  318. Internet E-Mail in this example.  From then on whenever Annex encountered
  319. the name "Michael Smith", it would replace it with "Mike Smith" in the
  320. body of your header text.  If you later decided that you wanted to change
  321. the association (Michael decides he wants to be more formal) you'd only
  322. have to load the "header.inf" file into your text editor and edit it
  323. manually - it is sorted alphabetically by first name.  If you have to edit
  324. an "Internet" name, be sure to follow the format that the file uses for
  325. those (you will see it when you look).
  326.  
  327.  
  328.  
  329.                           - Not Saving Name Entries -
  330.  
  331.    You will note of course that there are two other options that you can
  332. use if Annex doesn't know what to do with a given name: both of these read
  333. "Do Not Save".  These options simply allow you to use a given name in the
  334. header of your reply to that person, but to *not* add an entry for it to
  335. Annex's list of known names.  This can be very useful if you want to quote
  336. a message from someone you know you'll never correspond with and send the
  337. quote to someone else.  Say I come across a message in my mail packet from
  338. "The Australian Outback Co." describing the equipment it offers and how
  339. much everything costs.  I want to quote this message to a friend of mine
  340. because I know she's interested in that sort of thing, but I don't want to
  341. add an entry for the company into my header.inf file because I'm pretty
  342. sure I'll never have to use it again, and I want to keep that file's size
  343. as small as possible.  So, if I wanted to use the "default" format for the
  344. name (without also permanently saving it), I would select "2" rather than
  345. "1".  Similarly, if I wanted to change the "Co." to "Company" I would
  346. select "4" rather than "3".
  347.    As a point of interest, if you *do* select "4" then the "Custom Format/
  348. Internet Header" screen will look just like it does in the explanation
  349. example except that it will now appear with an additional line of text:
  350.  
  351.  
  352.     Internet address:
  353.  
  354.  
  355.    ┌───────────────────────────────┐
  356.    │ This entry will not be saved. │
  357.    └───────────────────────────────┘
  358.  
  359.  
  360.    This only serves to reassure you that Annex is indeed only going to use
  361. the header name temporarily as you had instructed it to do.
  362.  
  363.  
  364.  
  365.                       - Internet E-Mail and Headers -
  366.  
  367.    I don't know if you have dealt with this before or not.  It's private
  368. mail that you send to people at certain "Internet addresses".  For
  369. instance, my own Internet address is "jason.bassford@rose.com".  If I were
  370. to send you Internet E-Mail, OLX would display it as being "From: 
  371. JASON.BASSFORD@ROSE.COM".  This, obviously, is not what you want put in
  372. the header line.  So, when prompted, you would select the second option
  373. and make my new name "Jason Bassford".  However, if you wanted to send
  374. Internet E-Mail back to me (as you probably would) the procedure for this
  375. is a bit more complex.  What I have to do on *my* BBS (and I think it's
  376. similar for other bulletin boards) is to make the To: line in OLX read
  377. "USENET GATEWAY".  Then, in the body of the message, my first line is 
  378. "To: " followed immediately by the person's Internet address, and then a
  379. blank line.  On the third line the actual message can start.
  380.    So, if you want to send me Internet E-Mail, rather than just hitting
  381. <Return> to go past the "Internet address: [None]" line, you would enter
  382. my address ("jason.bassford@rose.com").  Header will then create *two*
  383. headers.  One for Internet and the other for the normal message.  In this
  384. case it would read something like this:
  385.  
  386.  
  387. To: jason.bassford@rose.com
  388.  
  389. The following was said by Jason Bassford...
  390.  
  391.    
  392.    Just as you may alter the header text by changing the file "header.txt"
  393. you may alter the Internet header text (I wasn't sure if BBSs universally
  394. followed the "To: address" format so I allowed for it to be changed as
  395. well) by modifying the file "header.net".
  396.    Note that you may have more than one entry for the same person in
  397. certain circumstances.  For instance, I have a friend who writes to me
  398. both via Internet and on some network Conferences.  Hence, I have an
  399. association for "GLEN CAMPBELL" as well as for "GLEN.CAMPBELL@ROSE.
  400. COM".  Remember, it's the *name* not the person that the program
  401. recognizes.
  402.  
  403.    (Special note:  Due to a programming "glitch" that I'm aware of there
  404. is a potential problem with editing the Internet address.  You cannot
  405. change the *first* character of the address directly.  Say, for example,
  406. that I had meant to type "glen" but instead typed "flen".  In order to
  407. correct such a mistake, you have to delete everything after the first
  408. character (in this case only the "f" would remain) and then hit <Enter>
  409. *as if* this were correct.  The program will return to it's previous state
  410. and prompt you again for the correct address.)   
  411.    
  412.  
  413.  
  414.                     - Creating Header and Footer Text -
  415.  
  416.    Header and footer text is generated by editing text files (header.txt
  417. for headers, header.inf for Internet headers, and footer.txt for footers).
  418. The text in these files will be read and placed in your messages at the
  419. appropriate places. Things like the name of the person the message is
  420. from, the date it was sent, or, as in the case of a footer, the date the
  421. reply was written, are represented by "variables", as explained below. 
  422. Right now header text will word-wrap at 70 characters.  I haven't yet set
  423. this up to allow the user to change this value.  (If any interest is
  424. expressed in having this value changed, I will send a "patch" to any
  425. *registered* user that requests it.)  So, if a word goes past 70
  426. characters it will jump down to the next line.  I set it at 70 (as I have
  427. my text editor for all E-Mail messages) so that it is easily quotable, not
  428. going past the right 80 column margin.  Footer text will *not* word wrap. 
  429. Due to it's nature this would not be advantageous in my opinion (although
  430. I'd be happy to hear any comments if you feel otherwise).  So it is up to
  431. you to monitor the length of individual footer lines.
  432.  
  433.  
  434.  
  435.                       - Header and Footer Variables -
  436.  
  437.    Even though the text may appear on separate lines in the text files it
  438. will *not* be treated as being so read in as a header or footer.  For
  439. instance the following
  440.  
  441. On
  442. three
  443. lines.
  444.   
  445. would appear on one line only: "On three lines."  To make it appear on
  446. three separate lines you must explicitly put in carriage returns.  To tell
  447. Annex to put in a carriage return you would put a carriage return
  448. "variable" into the text.  All variables are enclosed by "|" characters
  449. (located above the "\" key).  So, to get the above on three separate lines
  450. our text file could look like this:
  451.  
  452. On|CR|           
  453. three|CR|        
  454. lines.           
  455.  
  456.    And, if this is header text, to get the actual message to appear
  457. following it and a blank line, you would need to add a "|CR|" both to the
  458. end of the last line as well as another one after that. (Also note that I
  459. could have just as easily written all of the above on one line
  460. (On|CR|three|CR|lines.) and it still would have come out as three lines in
  461. the end. It's purely for the sake of readability that I would choose the
  462. first format.)
  463.    If for some reason you wish to actually include a "|" character in the
  464. text of the message you can do so by using two in a row ("||").  Also, if
  465. you do not use a "legal" variable it will appear as text (if you made a
  466. typing mistake and used "|C|", forgetting the "R", it would not issue a
  467. carriage return but, for example, print "three|C|lines.").
  468.  
  469.    Here are the variables that you can use:
  470.  
  471. |FROM|        Header text only.
  472. |TO|          Header text only.
  473. |SUBJECT|     Header text only.
  474. |MONTH|       Numerical value (December is "1").
  475. |MONTH2|      As above but two digits (December is "01").
  476. |LMONTH|      The full month name ("December").
  477. |SMONTH|      The shortened month name ("Dec").
  478. |DAY|         Numerical value (January "21"st).
  479. |DAY2|        As above but two digits ("9" becomes "09").
  480. |SUFFIX|      Appropriate termination for the numeric day ("21" "st").
  481. |LDAY|        The full day name ("Wednesday").
  482. |SDAY|        The shortened day name ("Wed").
  483. |CENTURY|     The "first part" of the year (1992 is "19").
  484. |YEAR|        The "second part" of the year (1992 is "92").
  485. |TIME24|      The 24 hour time.
  486. |TIME12|      The 12 hour time ("13:03" becomes "1:03").
  487. |TIME12A|     As above but "13:03" would become "01:03".
  488. |HOUR|        The time "period" (13:03 is "pm").
  489. |BBS|         The name of *your* BBS.  Header text only.  This is not
  490.               available via RoseReader as that information is not included
  491.               with the message when sent to the editor.  If used it will
  492.               output "N/A".
  493. |CONFERENCE|  Header text only.
  494. |NUMBER|      The number of the message.  Header text only.  This
  495.               information isn't sent to the editor by RoseReader and is
  496.               unavailable with that reader.  The output from this, in such
  497.               a case, will be "N/A".
  498. |REFERENCE|   The message number that this one is in reference to.      
  499. |STATUS|      The status of the message (private, received, echo, etc.). 
  500.               If this attribute is *not* enabled (i.e. the message isn't
  501.               private) then nothing will be listed.  RoseReader doesn't
  502.               send the "received" status of the message to the editor, so
  503.               even if it *has* been received it will not be indicated as
  504.               having been so here.  Similarly, OLX does not make use of
  505.               the "echo" flag in its messages.
  506.               
  507. |CR|          Carriage return.
  508. ||            Pipe ("|") character.
  509.  
  510. |ADDRESS|     Internet header text only.  Note that "header.net" can only
  511.               use this variable and the two special ones above.  All of the
  512.               rest have no special meaning for it.
  513. |TEARLINE|    Footer text only.
  514. |TAGLINE|     Footer text only.
  515.  
  516.  
  517.    Note: In the case of header text, time and date variables pertain to
  518.          when the *quoted* message was sent.  If used in footer text, then 
  519.          they refer to when *your* message was written.
  520.  
  521.               
  522.    One last point.  The header.txt, header.net, and footer.txt files may
  523. be of any length.  The program interprets each text character one at a
  524. time and then moves on to the next.  You could include a header that was a
  525. copy of "War And Peace", or compose a similarly long "farewell" speech for
  526. your footer/tagline, if you wished.  But I certainly wouldn't recommend
  527. it. <grin>
  528.  
  529.  
  530.  
  531.                     - OLX: Footer Text and Tearlines -
  532.  
  533.    Any lines of text that are written to you message *before* a tearline
  534. will be just as they appear in the footer.txt file, however this is not
  535. precisely true of text *following* a tearline.  Each line of such text
  536. will be automatically indented one space by the program so that it lines
  537. up properly with all other Net taglines that will be later appended.  This
  538. is not just for aesthetic reasons, but to guarantee that there are no Net
  539. "hiccouphs" due to improperly formatted tagline text.
  540.    The placement of a tearline in your message is not automatic. Wherever
  541. you want it to contain a tearline you must explicity enter a "|TEARLINE|"
  542. variable in the footer.txt file - make sure to also issue a carriage
  543. return ("|CR|") after that variable as well so that it will function
  544. properly as a tearline.  If you don't use the "|TEARLINE|" variable but
  545. instead decide to simply use "---", Annex will not interpret this properly
  546. as anything other than "meaningless" text for the purposes of indenting
  547. text afterwards as explained in the above paragraph. Multiple tearlines
  548. *are* allowed by Annex if you write your footer.txt file to so indicate
  549. them, but they will serve no special function other than to most likely
  550. confuse the Net and some other users upset.  So I would recommend against
  551. using them.
  552.    Finally, if you *don't* include a tearline somewhere in your footer
  553. text (if you have any such text) Annex will not remove your footers when
  554. you re-edit any existing message (see below).  To remind you of this fact,
  555. Annex will issue a warning message if it ever comes across such a
  556. "misbehaved" footer.
  557.    
  558.  
  559.  
  560.                           - Footer Text Warning -
  561.  
  562.    Annex will try to remove any footer information in a message whenever
  563. you re-edit a message that you've already entered.  This is to ensure that
  564. you don't keep getting additional footer text "tacked on" to the end of
  565. existing text that has become part of the message itself.  Because of the
  566. way Annex works, the amount of text that it will remove is based on the
  567. current contents of the footer.txt file.  Therefore, if you change this
  568. file while you are in the middle of an OLX session, Annex may or may not
  569. delete, in confusion, parts of any actual message's text when you attempt
  570. to re-edit it.  As a rule of thumb: Wait until you are done with a mail
  571. packet before altering your footer.txt file.
  572.  
  573.  
  574.  
  575.              - Alternate Tagline Files and Specific Taglines -
  576.  
  577.    If you look at the command syntax for running footer.exe in the batch
  578. file you will note that it is different from that used with header.exe. 
  579. The latter requires only that you specify the name of the message text
  580. file.  Footer.exe however, *also* requires the name of the text file that
  581. contains your taglines.  Because of this it is possible to set it to a
  582. tagline file other than "taglines.olx".  There may be some reason that you
  583. *don't* want to use that filename and I thought it was silly to have Annex
  584. assume that you did.  To use a different tagline file just edit the
  585. "footer" line in the batch file controlling your message replies to
  586. reflect this change.
  587.    Similarly, it is possible to "force" Annex to append a specific
  588. tagline, even though it is not written to do so.  All you have to do is
  589. make sure that the tagline file that footer.exe is assigned contains only
  590. one tagline - the one you want.  Even given it's randomness, it would be
  591. hard pressed to come up with a number between 1 and 1 that didn't
  592. correspond to that tagline. <grin>  This requires shelling out to Dos from
  593. your OLX session.  Either copy your current tagline file to somewhere
  594. else, and then edit the original, or create a new file with only the
  595. tagline you want and edit your batch file so that footer.exe works with
  596. that one instead.  Both methods require some work, but it's not that big a
  597. hassle if you don't use specific taglines often.  (Just remember to later
  598. change your setup back to what it was originally...)
  599.  
  600.  
  601.  
  602.                      - General Footer/Tagline Notes -
  603.  
  604.    There are a couple of things about the way Annex works that you might
  605. like to know - although I doubt you will ever come across them.  First of
  606. all, make sure that the *first* tagline in your tagline file is *not*
  607. simply a number.  Because OLX places a number at the beginning of its
  608. tagline file, I've had to make Annex ignore any such numbers if they exist
  609. so it doesn't think that *it* is one of your taglines.  
  610.    Secondly, all text after a line containing *only* "---" at the left
  611. margin will be deleted.  This is the only way I could have Annex handle
  612. tear-lines and footers.  If you enter a message and then re-edit it, Annex
  613. has to first delete the existing tear-line and footer information.  If it
  614. didn't, you'd end up with increasing numbers of tear- and taglines
  615. appended to the bottom of your re-edited messages.
  616.    However, I find it *very* unlikely that either of these specific
  617. conditions would be fulfilled in such a way as to cause you difficulties
  618. with your messages! <grin>  If not something to be "warned" about, then
  619. they are at least something you might find interesting to know, in terms
  620. of how the program functions internally.
  621.  
  622.  
  623.  
  624.                               - Conclusion -
  625.  
  626.    I hope that I have explained the various workings of the program
  627. satisfactorily.  As I say, this is still an "early" version - but, after
  628. getting several requests for it recently, I decided to go ahead and
  629. distribute it anyway.  Any comments or questions are welcome.  My mailing
  630. address until the end of June 1993 is:
  631.  
  632. 59 Glenforest Rd.
  633. Toronto, Ontario
  634. Canada  M4N 1Z7
  635.  
  636. After that date I will be moving somewhere else when my lease expires
  637. <grin>, but mail can always reach me at:
  638.  
  639. 416 Keewatin Ave.
  640. Toronto, Ontario
  641. Canada M4P 2A5
  642.  
  643. My Internet addresses are:  "jason.bassford@rose.com"  and 
  644.                             "rn.1058@rose.com"
  645.  
  646.    Thank you for taking the time to read this, and I hope you find the
  647. program useful!
  648.